package top.luckyluxcis.api;

import lombok.experimental.UtilityClass;
import top.luckyluxcis.RollApi;
import top.luckyluxcis.type.Ip;
import top.luckyluxcis.util.MapUtil;

import java.util.Map;

/**指定IP信息查询，访问者IP信息查询

 * @author Zhuang
 * @since 2023/9/21
 */
@SuppressWarnings("unused")
@UtilityClass
public class IpUtil {
    private static final RollApi API = RollApi.getInstance();

    /**
     * 获取访问者的ip地址信息，先获取您的ip地址，再进行解析
     *
     * @return {@link Ip}
     */
    public static Ip ipSelf() {
        return API.get("/ip/self", MapUtil.empty(), Ip.class);
    }

    /**
     * 获取指定ip的ip地址信息
     *
     * @param ip 被查询的ip地址 需保证是正确的ip地址格式
     * @return {@link Ip}
     */
    public static Ip ipAim(String ip) {
        Map<String, Object> params = MapUtil.<String, Object>builder()
                .put("ip", ip)
                .build();
        return API.get("/ip/aim_ip", params, Ip.class);
    }
}
